package pe.edu.upc.poo;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

public class AdmTareaUsuario {

	private ArrayList<TareaUsuario> tarUsuarios;
	
	
	
	//AdmTarea admtarea = new AdmTarea();

	public AdmTareaUsuario() {
		// Creacion de la coleccion de roles
		tarUsuarios = new ArrayList<TareaUsuario>();
		
	}

	public TareaUsuario buscarTareaUsuario(int tarId, String usuario) {
		for (TareaUsuario tareaUsuario : tarUsuarios)
			if (tareaUsuario.getTarId() == tarId
					&& tareaUsuario.getUsuario().equals(usuario))
				return tareaUsuario;
		return null;
	}

	public boolean noExisteUsuarioTarea(int tarId, String usuario) {
		return buscarTareaUsuario(tarId, usuario) == null;

	}

	public void eliminarUsuarioTarea(int tarId, String usuario) {
		TareaUsuario tareaUsuario = buscarTareaUsuario(tarId, usuario);
		if (tareaUsuario != null)
			tarUsuarios.remove(tareaUsuario);
	}

	public int getTotalUsuarioTarea() {
		return tarUsuarios.size();
	}

	public Date getDate(String date) {
		DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

		try {

			return df.parse(date);

		} catch (ParseException ex) {
		}

		return null;
	}

	public void registrarTareaUsuario(int tarId, String usuario) {
		if (noExisteUsuarioTarea(tarId, usuario)) {
			TareaUsuario tareaUsuario = new TareaUsuario(tarId, usuario);
			tarUsuarios.add(tareaUsuario);

		}
	}

public boolean VerificacionTarea(Date fecha, int tarId, String usuario,AdmTarea admTarea) {
		
		boolean retorno=false;
		TareaUsuario tareaUsuario = buscarTareaUsuario(tarId, usuario);

		if (tareaUsuario != null) {
			
			Tarea tarea = admTarea.buscarTareaPorCodigo(tarId);
			
			if (tarea != null) {
				if (tarea.getTarFechaVencimiento().equals(fecha) ) {
					retorno= true;
				}

			}		
		}

		return retorno;

	}
}
